package ar.com.digitalbricks.imprenta.persona.impl;

import org.springframework.beans.factory.annotation.Configurable;

import ar.com.digitalbricks.fwk.impl.PersistentImpl;
import ar.com.digitalbricks.imprenta.persona.Contacto;
import ar.com.digitalbricks.imprenta.persona.MedioComunicacion;
import ar.com.digitalbricks.imprenta.persona.dao.MedioComunicacionDAO;
import ar.com.digitalbricks.imprenta.persona.enums.TipoMedioComunicacion;

@Configurable("medioComunicacion")
public class MedioComunicacionImpl extends PersistentImpl implements MedioComunicacion {
	private MedioComunicacionDAO medioComunicacionDAO;
	private Contacto contacto;
	private TipoMedioComunicacion tipoMedioComunicacion;
	private String descripcion;
	private Boolean isPrincipal;

	@Override
	public void delete() {
		this.getMedioComunicacionDAO().delete(this);
	}

	@Override
	public void save() {
		this.getMedioComunicacionDAO().save(this);
	}
	
	@Override
	public TipoMedioComunicacion getTipoMedioComunicacion() {
		return this.tipoMedioComunicacion;
	}

	@Override
	public void setTipoMedioComunicacion(TipoMedioComunicacion tipoMedioComunicacion) {
		this.tipoMedioComunicacion = tipoMedioComunicacion;
	}

	@Override
	public String getDescripcion() {
		return this.descripcion;
	}

	@Override
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	@Override
	public Contacto getContacto() {
		return this.contacto;
	}
	
	@Override
	public Boolean getIsPrincipal() {
		return this.isPrincipal;
	}

	@Override
	public void setIsPrincipal(Boolean principal) {
		this.isPrincipal = principal;
	}

	protected void setContacto(Contacto contacto) {
		this.contacto = contacto;
	}

	public MedioComunicacionDAO getMedioComunicacionDAO() {
		return this.medioComunicacionDAO;
	}

	public void setMedioComunicacionDAO(MedioComunicacionDAO medioComunicacionDAO) {
		this.medioComunicacionDAO = medioComunicacionDAO;
	}

}
